package com.jiantong.lawEnforcing.service;

import com.jiantong.lawEnforcing.dto.CasesBasicDto;
import com.jiantong.lawEnforcing.model.CasesBasic;
import io.terminus.common.model.Paging;
import io.terminus.common.model.Response;


/**
 * 案件基础信息表
 * Created by mz03 on 2017/8/14.
 */
public interface CasesBasicService {

    /**
     * id 查找
     * @param id
     * @return News
     */
    Response<CasesBasic> finById(Long id);


    /**
     * id 查找
     * @param id
     * @return News
     */
    Response<CasesBasicDto> finCasesBasicDtoById(Long id);



    /**
     * 创建新闻新单据
     * @param casesBasic 单据对象
     * @return 主键 id
     */
    Response<Long> create(CasesBasic casesBasic);



    /**
     * 创建新闻新单据
     * @param casesBasicDto 单据对象
     * @return 主键 id
     */
    Response<Long> createCasesBasicDto(CasesBasicDto casesBasicDto);



    /**
     * 更新新闻的单据
     * @param casesBasic 单据对象
     * @return true or false
     */
    Response<Boolean> update(CasesBasic casesBasic);


    /**
     * 根据status分页查询
     * @param pageNo
     * @param pageSize
     * @param status
     * @param cause_action
     * @param parties_type
     * @param parties_name
     * @return
     */
    Response<Paging<CasesBasic>> pagingByStatus(Integer pageNo, Integer pageSize, Integer status, String cause_action, Integer parties_type, String parties_name);

    /**
     * 根据status分页查询Dto
     * @param pageNo
     * @param pageSize
     * @param status
     * @param cause_action
     * @param parties_type
     * @param name
     * @return
     */
    Response<Paging<CasesBasicDto>> pagingCasesBasicDto(Integer pageNo,
                                                        Integer pageSize,
                                                        Integer status,
                                                        String cause_action,
                                                        Integer parties_type,
                                                        String name);

    /**
     * 根据status分页查询Dto
     * @param pageNo
     * @param pageSize
     * @param status
     * @param cause_action
     * @param parties_type
     * @param name
     * @return
     */
    Response<Paging<CasesBasicDto>> pagingByList(Integer pageNo,
                                                 Integer pageSize,
                                                 Integer status,
                                                 String cause_action,
                                                 Integer parties_type,
                                                 String name);

}
